import re

from django.views import View
# 导入返回响应
from SaaSDevelTool.data_return_response import create_response
# 导入错误信息装饰器
from SaaSDevelTool.data_return_response import error_message_detection
# 获取数据库连接
from SaaSDevelTool.data_mysql_data import db
# 判断参数类型
from SaaSDevelTool.data_operation import is_number
# 获取时间区间
from SaaSDevelTool.data_datetime_func import get_datatime

"""企业看板删除"""


class SaaSDataTenementDelete(View):
    @error_message_detection
    def post(self, request):
        # 获取企业编号
        tenement_id = request.POST.get("tenement_id")
        # 获取操作编号
        api_status = request.POST.get("api_status")
        # 判断企业编号是否传递
        if not tenement_id:
            return create_response(code=400, msg="操作失败，未选择要关闭的企业。")

        # 判断企业编号格式
        if not is_number(tenement_id):
            return create_response(code=400, msg="操作失败，企业编号类型错误。")

        # 判断api_status类型（open:开启，off:关闭）
        if api_status == "open":
            # 执行开启操作
            update_sum_up_tenement_table_sql = """
                UPDATE 
                    db_saas_center.sum_up_tenement_table
                SET  
                    tenement_status = 0, 
                    tenement_update_time = '{}' 
                WHERE
                    tenement_id = {}
                ;""".format(get_datatime(), tenement_id)
            # 执行操作
            db.update(update_sum_up_tenement_table_sql)
            # 返回对应的响应
            return create_response(code=200, msg="租户权限开启成功。")

        # 执行关闭操作
        elif api_status == "off":
            # 执行关闭页面
            update_sum_up_tenement_table_sql = """
                UPDATE 
                    db_saas_center.sum_up_tenement_table
                SET  
                    tenement_status = 1, 
                    tenement_update_time = '{}' 
                WHERE
                    tenement_id = {}
                ;""".format(get_datatime(), tenement_id)
            # 执行操作
            db.update(update_sum_up_tenement_table_sql)
            # 返回对应的响应
            return create_response(code=200, msg="租户权限关闭成功。")
        else:
            return create_response(code=400, msg="操作失败，api_status参数传递无法识别。")
